The present invention relates to methods of graphically displaying digital data and, more particularly, to a method of representing a continuous stream containing a predetermined number of digital values, on a display area containing a lower, predetermined number of graphical display elements.
Graphical display of a stream of digital data has numerous practical uses in various diagnostic and analytic applications. One such useful application is, for example, the graphical display of digital samples representing a digitized electrical signal. In some cases, the display of a digitized signal will be used to examine the performance of the instrument which generated the electrical signal, for example, to evaluate the stability of an electrical generator. In other cases, an electrical signal may be generated as an analog electrical imitation of other natural phenomena, such as acoustic oscillation, temperature, pressure, acceleration, or physical position, among others. In the latter cases, display of the electrical signal will be used as a tool for observing and examining the behavior of the physical phenomenon represented by the electrical signal.
Present day techniques of displaying a digitized electrical signal, for example, using a Digital Storage Oscilloscope (xe2x80x9cDSOxe2x80x9d), typically include: converting an electrical signal of interest into a stream of digital samples or xe2x80x9creadingsxe2x80x9d using an analog to digital converter (xe2x80x9cADCxe2x80x9d); sending the digital stream to a digital computing device, for example, a computer or a microprocessor; processing the digital data with the digital computing device, in order to prepare the digital data for display; and displaying the processed data on a graphical display device, for example, a cathode-ray tube (xe2x80x9cCRTxe2x80x9d), a dot-matrix liquid crystal display (xe2x80x9cLCDxe2x80x9d) or any other type of display known in the art.
A contemporary DSO typically includes an ADC capable of sampling electrical signals at sampling rates of as high as millions (MHz) or even billions (GHz) of readings per second. The increase in sampling rate capabilities is highly advantageous, since a greater sampling rate means greater accuracy in the digital representation of a sampled signal. As opposed to high sampling rates of existing ADCs, present day display devices are still confined to much lower resolutions of display. A standard display device, such as a personal computer monitor, will usually accommodate a maximum number of graphical display elements, namely xe2x80x9cpixelsxe2x80x9d, on the order of only a few hundreds by a few hundreds (e.g. 800 by 600 pixels, 1024 by 768 pixels, etc.).
Thus, it is common practice in present day techniques for displaying digitized signals, that the number of digital readings produced by an ADC exceeds by far the number of pixels available for displaying the same. In order to display a high number of digital readings on a display which is able to accommodate a much lower number of pixels, every pixel must represent more than one digital reading at a given time. Several known methods attempt to cope with the problem of displaying a high number of digital readings on a display including a lower number of pixels.
U.S. Pat. No. 5,684,507 to Rasnake et al. discloses a method of displaying continuously acquired data on a fixed length display. According to teachings of this patent an ADC receives an input electrical signal and produces a continuous stream of xe2x80x9cmeasurement dataxe2x80x9d (i.e. digital readings). The stream is continuously sent to a digital computing device. The digital computing device continuously converts incoming readings into pixel information in such a manner that every pixel plotted on the display represents a predetermined number of readings. Pixel information is continuously plotted on the display area, for example, from the leftmost pixel column to the rightmost pixel column. As the last available pixel (e.g. the rightmost pixel) on the display is reached, all the pixel information currently displayed on the display area, is then compressed into a fraction of the display area (e.g. into the left half of the display area), thus continuously providing room for newly arriving pixel information to be plotted on the remaining fraction of the display area.
These teachings include several inherent disadvantages. First, the teachings of Rasnake result in a disproportional, non-linear distribution of readings per pixel throughout the display area. Each time data is compressed into a fraction of the display area, compressed data will appear on a smaller scale than newly plotted data. For example, let us consider an example in which the compression ratio is 2 to 1, meaning that the total display area is repeatedly compressed into a half of the display area (for example, the left half). In such a case, after the first compression operation is completed, the compressed pixel information will appear on the left half of the display area on a scale of 2 to 1. In other words, every pixel column on the left half of the display area will represent pixel information which, prior to the compression, was represented by two pixels. The problem is that, according to the Rasnake method, newly arriving pixel information will still be plotted on the display area on a scale of 1 to 1. Consequently, data displayed on the compressed fraction (i.e. the left half of the display area) will appear on a scale of 2 to 1, whilst at the same time data displayed on the remaining fraction (i.e. the right half of the display data) will appear on a scale of 1 to 1. This problem is inherent to the Rasnake method, and therefore will persist regardless of which compression ratio is chosen and regardless of how many compressions were made (provided that at least one compression was made).
Second, the teachings of Rasnake do not guarantee that when the plotting process is ended, all available pixels on the display area will be utilized. According to these teachings, newly arriving pixel information is plotted on the display area until no more pixels on the display are available, at which point the displayed data is compressed into a fraction of the display area. However, if the process is halted exactly after a compression was made, then the remaining portion of the display area (i.e. the total display area excluding the fraction into which data was compressed) will remain empty and unused. Similarly, if the plotting process is ended after some pixel information was already plotted on the display, but before the last available pixel is reached, then again some pixel columns on the display area will remain unused. Only if the process is stopped exactly when the last available pixel is plotted (a statistically rare case indeed), will the complete display area be utilized. Even if such a rare case occurs, there will still be the problem of disproportionality between the compressed fraction and the remaining portion of the display area, as explained heretofore. Therefore these teachings are unsuitable for displaying a batch of digital data, that is, displaying a stream of digital data in cases where the number of digital values contained in the stream is known in advance.
Third, the teachings of Rasnake do not enable the user to choose, in advance, a desired ratio of readings per pixel. Instead, pixel information representing digital readings is repeatedly compressed, so that the number of readings represented by a single pixel in the compressed fraction of the display increases with every compression. As a result, after a certain number of compressions, any further compression will assign too many readings per one pixel, to the extent that such a display of the readings will no longer be meaningful or useful for the user. According to the method, the user has no ability to determine, in advance, a target ratio of readings per pixel, after which no further compressions will be made.
Fourth, the teachings of Rasnake require dedicated hardware, namely a special microprocessor, containing special firmware. Such a solution is expensive, inflexible and difficult to achieve. Implementation of the teachings of Rasnake with software only is presently infeasible.
U.S. Pat. No. 5,684,508 to Brilman teaches a method which partially solves some of the deficiencies of the Rasnake method. According to the Brilman method, upon reaching the last available pixel, the displayed pixel information is compressed to half the fixed number of available pixels, and in addition, the pixel rate is halved, thereby doubling the time scale of the display. As a predetermined minimum pixel rate is eventually reached, rather than performing another compression, the displayed pixel information begins to scroll in a xe2x80x9croll modexe2x80x9d. In roll mode, the newest pixel information is plotted on the rightmost pixel column of the display area and the information contained in the other pixel columns is shifted to the left by one pixel column. The oldest pixel information, which is plotted on the leftmost pixel column of the display area, is discarded. This scrolling process can continue indefinitely.
Although in roll mode all available pixels on the display are utilized at any given moment, the teachings of Brilman offer only a partial solution to the problems described above because, during the initial stage at which pixels are plotted and compressed alternatively, not all pixels will be utilized at any given moment.
The teachings of Brilman still suffer from inherent limitations. First, Brilman also teaches displaying a stream of digital data containing an indefinite number of readings. Display of a predefined number of readings is not taught by Brilman. Further, Brilman also teaches the use of a dedicated microprocessor. Thus, the method taught by Brilman cannot be implemented using a software only solution. The following is a cross-reference list of related prior art patents:
U.S. Pat. No. 5,335,295 to Ferracini et al. teaches a two step method for first enlarging a digital image and then shrinking by a factor which is a power of 2. These teachings are inherently slow when implemented on a data processor.
U.S. Pat. No. 5,555,180 to Hilger et al. deals with storage and subsequent reconstruction of ultrasonic waveforms. Teachings of this patent do not specifically relate to scaling.
U.S. Pat. No. 5,784,284 to Taraki teaches a method in which some data points are discarded so that a number of data points equal in number to the number of pixels is achieved.
U.S. Pat. No. 5,837,899 to Dickerman et al. teaches a hardware gate, a limitation similar to that imposed by Brilman and Rasnake.
U.S. Pat. No. 6,016,700 to Cuffe teaches a method for ultrasonic analysis of an object which includes signal conversion but does not specifically address the issue of correspondence between number of data points and number of pixels.
There is thus a widely recognized need for, and it would be highly advantageous to have a method of displaying a stream of digital data containing a predetermined number of digital values, on a display area consisting of a lower predetermined number of graphical display elements devoid of the above limitations.
According to one aspect of the present invention there is provided a method of displaying a stream of data containing a first number of digital values on display area of a pre-determined size containing a second number of display elements. The method is most useful when the second number is less than the first number and includes the steps of: (a) attributing to each display element a portion of the first number of digital values so that the total number of digital values in all of the portions equals the first number, and the number of digital values in each portion varies periodically (b) determining at least one representative digital value for each of the portions, and (c) displaying on each discrete display element in the display the representative digital value.
According to another aspect of the present invention there is provided a method of determining for each graphical display element in an apparatus with a lesser number of graphical display elements a corresponding number of digital values to represent. The digital values are selected from a stream containing a greater number of digital values than the number of display elements. The method includes the steps of (a) dividing the greater number by the lesser number to ascertain a quotient and (b) determining for each graphical display element a corresponding number of digital values to represent based on the quotient. Preferably, the apparatus uses a known method of representing a plurality of digital values using a single graphical display element.
According to further features in preferred embodiments of the invention described below, the number of digital values in each portion varies with a fixed periodicity.
According to still further features in the described preferred embodiments the number of digital values in each portion is characterized by minimum variability.
According to still further features in the described preferred embodiments the stream of digital values is a stream of digital samples.
According to still further features in the described preferred embodiments the stream of digital samples represents a digitized electrical signal.
According to still further features in the described preferred embodiments the digitized electrical signal represents an ultrasonic signal.
According to still further features in the described preferred embodiments the step of determining includes using an algorithm.
According to still further features in the described preferred embodiments the algorithm is selected from the group consisting of determining a maximum value, determining a minimum value, computing a mean, computing a mode, computing a median, computing a weighted average, a randomly selected value and selecting a digital value received at a time approximating a mid-point of a time during which said portion is received.
According to still further features in the described preferred embodiments the number of digital values in each of the portions is selected from a group consisting of: (i) the quotient of dividing the first number by the second number; (ii) the lowest whole number greater than the quotient; and (iii) the greatest whole number less than the quotient.
According to still further features in the described preferred embodiments the display elements are selected from the group consisting of pixel rows and pixel columns.
According to still further features in the described preferred embodiments the apparatus is selected from the group consisting of a Digital Storage Oscilloscope (DSO) and an ultrasonic flaw detection device.
According to still further features in the described preferred embodiments the stream containing a first number of digital values is displayed as a frequency spectrum.
According to still further features in the described preferred embodiments the determining of a corresponding number based on the quotient maintains a periodic distribution of the determined corresponding numbers.
According to still further features in the described preferred embodiments the determining of a corresponding number based on the quotient maintains minimal variability between the corresponding numbers.
According to still further features in the described preferred embodiments the determining of a corresponding number based on the quotient, includes selecting a number from a group consisting of the quotient of dividing the first (greater) number by the second (lesser) number, the greatest whole number less than the quotient and the lowest whole number greater than the quotient.
The present invention successfully addresses the shortcomings of the presently known configurations by providing a method of graphically displaying a continuous stream containing a predetermined number of digital values, on a display area containing a lower, predetermined number of graphical display elements.